﻿using System.Windows.Media;

namespace AutoRevit.Ribbon.Ribbon.Mapper;

/// <summary>
/// 控件映射器
/// </summary>
public abstract class ControlItemMapper : ControlItemMapperBase

{
    private ContextualHelp? _contextualHelp;

    /// <summary>
    /// 
    /// </summary>
    /// <param name="name"></param>
    protected ControlItemMapper(string name)
    {
        Name = name;
    }

    /// <summary>
    /// 
    /// </summary>
    public string AssemblyName { get; set; } = null!;

    /// <summary>
    /// 
    /// </summary>
    public string ClassName { get; set; } = null!;

    /// <summary>
    /// 
    /// </summary>
    public string Type { get; set; } = null!;

    /// <summary>
    /// 
    /// </summary>
    public ImageSource? ToolTipImage { get; set; }

    /// <summary>
    /// 
    /// </summary>
    public string LongDescription { get; set; } = null!;

    /// <summary>
    /// 
    /// </summary>
    public string ToolTip { get; set; } = null!;

    /// <summary>
    /// 
    /// </summary>
    /// <returns></returns>
    public ContextualHelp? GetContextualHelp()
    {
        return _contextualHelp;
    }

    /// <summary>
    /// 
    /// </summary>
    /// <param name="contextualHelp"></param>
    public void SetContextualHelp(ContextualHelp? contextualHelp)
    {
        _contextualHelp = contextualHelp;
    }
}